﻿package core.manager
{
    import core.drawing.*;
    import core.enum.*;

    public class ToolManager extends Object
    {
        var ed:Tuyitu;

        public function ToolManager(param1:Tuyitu)
        {
            this.ed = param1;
            return;
        }// end function

        public function InstanceTool(Hand:ToolType) : Tool
        {
            switch(Hand)
            {
                case ToolType.Gradient:
                {
                    return new GradientTool(this.ed);
                }
                case ToolType.Eraser:
                {
                    return new EraserTool(this.ed);
                }
                case ToolType.Pencil:
                {
                    return new PencilTool(this.ed);
                }
                case ToolType.Drawing:
                {
                    return new DrawingTool(this.ed);
                }
                case ToolType.Brush:
                {
                    return new BrushTool(this.ed);
                }
                case ToolType.Clone:
                {
                    return new CloneTool(this.ed);
                }
                case ToolType.Fill:
                {
                    return new FillTool(this.ed);
                }
                case ToolType.ColorReplace:
                {
                    return new ColorReplaceTool(this.ed);
                }
                case ToolType.Sharpen:
                {
                    return new SharpenTool(this.ed);
                }
                case ToolType.Smudge:
                {
                    return new SmudgeTool(this.ed);
                }
                case ToolType.Blur:
                {
                    return new BlurTool(this.ed);
                }
                case ToolType.Sponge:
                {
                    return new SpongeTool(this.ed);
                }
                case ToolType.Dodge:
                {
                    return new DodgeTool(this.ed);
                }
                case ToolType.Burn:
                {
                    return new BurnTool(this.ed);
                }
                case ToolType.Bloat:
                {
                    return new BloatTool(this.ed);
                }
                case ToolType.Pinch:
                {
                    return new PinchTool(this.ed);
                }
                case ToolType.SpotHeal:
                {
                    return new SpotHealTool(this.ed);
                }
                case ToolType.RedEyeReduction:
                {
                    return new RedEyeReductionTool(this.ed);
                }
                case ToolType.Picker:
                {
                    return new PickerTool(this.ed);
                }
                case ToolType.Hand:
                {
                    return new HandTool(this.ed);
                }
                case ToolType.Zoom:
                {
                    return new ZoomTool(this.ed);
                }
                case ToolType.Move:
                {
                    return new MoveTool(this.ed);
                }
                case ToolType.Marquee:
                {
                    return new MarqueeTool(this.ed);
                }
                case ToolType.Lasso:
                {
                    return new LassoTool(this.ed);
                }
                case ToolType.Wand:
                {
                    return new WandTool(this.ed);
                }
                case ToolType.Crop:
                {
                    return new CropTool(this.ed);
                }
                case ToolType.Type:
                {
                    return new TypeTool(this.ed);
                }
                default:
                {
                    return new BrushTool(this.ed);
                    break;
                }
            }
        }// end function

    }
}
